﻿using System;
using System.ComponentModel.DataAnnotations;

namespace GarageManagement.Domain.Model
{
    public class Customer : IAuditable, IHasDeleted, IVersion
    {
        [Key]
        public Guid CustomerId { get; set; }
        [StringLength(10)]
        public string CustomerCode { get; set; }
        [StringLength(10)]
        public string IdNumber { get; set; }
        [StringLength(255)]
        public string IdIssuer { get; set; }
        public DateTime IdIssuedDate { get; set; }
        [StringLength(255)]
        public string FirstName { get; set; }
        [StringLength(255)]
        public string LastName { get; set; }
        public DateTime Birthday { get; set; }
        public Gender Gender { get; set; }
        public string Title { get; set; }
        public CustomerType CustomerType { get; set; }
        public DateTime MemberSince { get; set; }
        [StringLength(15)]
        public string Telephone { get; set; }
        [StringLength(15)]
        public string CellPhone { get; set; }
        [StringLength(15)]
        public string Fax { get; set; }

        public DateTime CreatedDate { get; set; }
        public DateTime UpdatedDate { get; set; }
        public Guid? CreatedBy { get; set; }
        public Guid? UpdatedBy { get; set; }
        public bool IsDeleted { get; set; }
        [Timestamp]
        public byte[] Version { get; set; }
    }
}
